package com.zy.cat.entity.dev.resp;

import javax.persistence.Column;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.zy.cat.entity.game.resp.CVSPrizeInfoResp;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.RequiredArgsConstructor;

/**
 * 
 * @info 9趣猫用户详细信息实体类
 * @author Link
 * @date 2019-11-11 14:59
 */
@Data
@RequiredArgsConstructor
@AllArgsConstructor
@ApiModel("9趣猫用户详细信息实体类")
public class CatDevUserInfoResp {
	
	@ApiModelProperty(value = "9趣猫用户ID", example = "18986866666")
    private String pid="";
	
	@ApiModelProperty(value = "用户0.女、1.男", example = "0")
    private int sex;
	
	@ApiModelProperty(value = "手机号(脱敏处理后的)", example = "13854807520")
    private String phone="";
	
	@ApiModelProperty(value = "用户头像(默认微信头像)", example = "http://")
    private String icon="";
	
	@ApiModelProperty(value = "用户名称(默认微信名称)", example = "wx_name")
    private String nikename="";
	
	@ApiModelProperty(value = "淘宝授权会员名", example = "wind_girlls")
    private String tbname="";
	
	@ApiModelProperty(value = "淘宝ID", example = "584646863")
    private String tbid="";
	
	@ApiModelProperty(value = "淘宝授权渠道ID", example = "584646863")
    private String tbrid="";
	
	@ApiModelProperty(value = "支付宝提款账户", example = "13854197520")
	private String zaccount;
	
	@ApiModelProperty(value = "支付宝提款账户真是姓名", example = "张三")
	private String zrealname;
	
	@ApiModelProperty(value = "是否已绑定支付宝(0.未绑定、1.已绑定认证)", example = "0")
	@JsonIgnore
	private int zstatus;
	
	@ApiModelProperty(value = "是否已实名认证(0.未认证、1.已认证)", example = "0")
	private int authen;
	
	@ApiModelProperty(value = "认证审核状态，-1.审核失败、0.待补充、1.审核中、2.审核通过", example = "0")
	@JsonIgnore
	private int fstatus;
	
	@JsonProperty("ident")
	@ApiModelProperty(value = "身份证号码", example = "1101***********5330")
	private String idcard;
	
	@ApiModelProperty(value = "(已过时)总计现金红包（分）", example = "100")
	private long arpt;
	
	@ApiModelProperty(value = "总计现金豆", example = "100")
	private long abeans;
	
	@ApiModelProperty(value = "剩余现金红包（分）", example = "100")
	private long rpt;
	
	@ApiModelProperty(value = "剩余现金豆", example = "100")
	private long beans;
	
	@ApiModelProperty(value = "今日获得现金红包（分）", example = "100")
	private long jrpt;
	
	@ApiModelProperty(value = "(已过时)正在入账现金红包（分）", example = "100")
	private long rcode;
	
	@ApiModelProperty(value = "今日获得现金豆", example = "100")
	private long jbeans;
	
	@ApiModelProperty(value = "今日是否签到-1.已拒绝、0.未签到、1.已签到", example = "0")
	private int signed;
	
	@JsonProperty("is_focus_wx")
	@ApiModelProperty(value = "是否关注微信公众号（0.未关注、1.已关注）", example = "1")
	private int isFocusWx;
	
	@ApiModelProperty(value = "当前阶段签到红包领取状态（0.未领取、1.已领取），30分钟领取一次", example = "0")
	private int signedpcks;
	
	@ApiModelProperty(value = "7天连续签到天数", example = "1")
	private int signs;
	
	@ApiModelProperty(value = "今日无门槛现金红包", example = "15")
	private String wrmb;
	
	@ApiModelProperty(value = "授权令牌-每次登录会更新", example = "-")
	private String utoken;
	
	@ApiModelProperty(value = "用户类型（0.新用户、1.老用户）", example = "1")
	private int utype;
	
	@JsonProperty("push_type")
	@ApiModelProperty(value = "(已废弃)红包推送类型,0.无推送、1.拆红包、2.15元购红包、3.3元无门槛红包", example = "1")
	private int pushType;
	
	@JsonProperty("order_status")
	@ApiModelProperty(value = "是否已有订单,0.无15元补贴订单(展示15元购)/(新)大额券代表、1.已存15元订单(展示3元购)/(新)9.9代表", example = "1")
	private int orderStatus;
	
	@ApiModelProperty(value = "(已过时)奖品碎片信息", example = "{}")
	private CVSPrizeInfoResp prizeInfoResp;
	
	@ApiModelProperty(value = "用户订单、返利红包、优惠券等数量实体类", example = "{}")
	private CatDevCountResp countResp;
	
	@ApiModelProperty(value = "注册过程中额外信息", example = "此账号已不是新用户")
	@JsonIgnore	
	private String msg;
	
	@JsonProperty("popup_id")
	@ApiModelProperty(value = "弹窗ID(0.无弹窗、1.首页跳转15元购、2.首页下拉，进游乐场、3.首页1元提现提示、4.我的弹游戏弹窗、5.我的弹互拆红包、6.我的弹15购、7.首页200现金豆)", example = "1")
	private int popupId;
	
	@JsonProperty("ad_status")
	@ApiModelProperty(value = "广告开关状态,0.关闭、1.打开", example = "1")
	private int adStatus=1;
	
	@JsonProperty("new_user_remit")
	@ApiModelProperty(value = "新用户提现任务是否存在(0.无新人提现、1.可新人提现)", example = "1")
	private int newUserRemit;
	
	@ApiModelProperty(value = "余额信息", example = "{}")
	private CashBalanceInfo balanceInfo;
	
	@ApiModelProperty(value = "是否使用过大额券下单(0.没有使用过大额券、1.使用过大额券下订单)", example = "1")
	private int supercoupon;
	
	@ApiModelProperty(value = "是否有反馈信息(0.无、1.有)", example = "1")
	private int isFeedbackMsg;
	
	@ApiModelProperty(value = "每次任务奖励肥料数量", example = "0")
	private Integer fertilizerNum;
	
	@Column(columnDefinition = "VARCHAR(255) NOT NULL COMMENT '当前等级总需肥料'")
	@ApiModelProperty(value = "当前等级总需肥料", example = "")
    private String fertilizerTotal="";
	
	@Column(columnDefinition = "int(10) NOT NULL COMMENT '已浇灌肥料'")
	@ApiModelProperty(value = "已浇灌肥料", example = "")
    private Integer afertilizer; 
	
	@Column(columnDefinition = "int(10) NOT NULL COMMENT '剩余肥料'")
	@ApiModelProperty(value = "剩余肥料", example = "")
    private Integer fertilizer;
	
	
	@ApiModelProperty(value = "1.1.6版本淘礼金信息", example = "{}")
	private TLJInfo tljInfo;
	
	@Data
	@ApiModel("1.1.6版本淘礼金信息")
	public static class TLJInfo{
		@ApiModelProperty(value = "剩余可用淘礼金(分)" )
		private long ltlj;
		
		@ApiModelProperty(value = "剩余可用淘礼金次数" )
		private long count;
		
		@ApiModelProperty(value = "总淘礼金次数" )
		private long allcount;
		
		@ApiModelProperty(value = "已用淘礼金次数" )
		private long usedcount;
		
		@ApiModelProperty(value = "淘礼金倒计时(秒)" )
		private long ltime;
		
		@ApiModelProperty(value = "是否展示淘礼金商品(0.否、1.展示)")
		private int isshow;
	}
	
	@Data
	@ApiModel("新版本现金余额信息")
	public static class CashBalanceInfo{
		
		@ApiModelProperty(value = "正在入账现金红包（分）", example = "100")
		private long readyRebate;
		
		@ApiModelProperty(value = "剩余订单返利金额（分）", example = "100")
		private long orderRebate;
		
		@ApiModelProperty(value = "非订单返利现金红包（分）", example = "100")
		private long redPacketBalance;
	}
}
